setInfos(3, "Damian : torture", "Cyber Master Damian will take care of you - a big 24/7 script including permissions, punishments...", "Indica, Doti", "started", 0xFFFFFF, "en", ["anal", "long", "exhibition", "femaledom", "formale", "humiliation", "urine", "transgender", "options", "spanking", "shopping", "toys", "sperm"]);

// CyberMistress - torture
//
def endReached = false
def block = "begin"
if(loadString("cybermistress.wanted_start_block")!=null) {
	block = loadString("cybermistress.wanted_start_block")
	save("cybermistress.wanted_start_block",null)
}
def newBlock = block
while(!endReached && newBlock!=null) {
block = null
switch(newBlock) {
case "begin":
	setImage("jewell/strict.jpg")
	def messages0 = ["You've been a very bad little slave, "+loadString("intro.name")+". This will require serious correction.","You've been especially naughty slave. I'm going to wipe the smile off your face.","You brought this on yourself slut. Slaves like you require proper discipline.","I'm going to make you pay for what you've done, slave."]
	show(messages0[getRandom(4)])
	wait(10)
	save("jewell.torture", null)
	block = "preamble"
	break

case "preamble":
	def messages1 = ["I'm partly to blame. I've been too lenient on you. Well that's going to change starting now slut.","I know you enjoy being controlled and humiliated by me. Trust me, you won't enjoy this."]
	show(messages1[getRandom(2)])
	wait(10)
	block = "threat"
	break

case "threat":
	def messages2 = ["I'm going to torture you until you beg for mercy, slave.","I'm going to put you back in your place, sissy.","I'm going to remind you of who is in charge around here.","It's time to inspire some fear in you, slave."]
	show(messages2[getRandom(4)])
	wait(5)
	block = "strip"
	break

case "strip":
	def messages3 = ["Start by stripping for me. Put your clothes somewhere out of your immediate reach.","Strip for me slut. Put your clothes somewhere out of your immediate reach.","Clothes off now! Put them somewhere out of your immediate reach.","I want your clothes off NOW bitch! Put them somewhere out of your immediate reach."]
	show(messages3[getRandom(4)])
	showButton("Naked Master")
	block = "threat2"
	break

case "threat2":
	def messages4 = ["Mmmm... that's more like it. You're nice and vulnerable and ready to be hurt.","Good job slave, now you're exposed and ready to be tortured.","Hehehe, that's just the way I like slaves: exposed, vulnerable and ready to be wrecked."]
	show(messages4[getRandom(3)])
	wait(7)
	block = "butt1"
	break

case "butt1":
	show("How to start?")
	switch(getRandom(5)) {
	case 0: block = "butt2"; break
	case 1: block = "butt3"; break
	case 2: block = "butt4"; break
	case 3: block = "butt5"; break
	case 4: block = "butt6"; break
	}
	break

case "butt2":
	if(loadBoolean("toys.buttplug")!=true) {
		block="butt4"
		break
	}
	def messages6 = ["Shove a butt plug up your ass.","I want your largest plug in your butt NOW.","Plug your ass for me, sissy."]
	show(messages6[getRandom(3)])
	showButton("Finished Master")
	block = "butt7"
	break

case "butt3":
	if(loadBoolean("toys.dildo")!=true) {
		block="butt4"
		break
	}
	def messages7 = ["Shove a dildo up your ass.","Slide your largest dildo in your butt for me slut.","Jam a dildo up your asshole, bitch."]
	show(messages7[getRandom(3)])
	showButton("Finished Master")
	block = "butt7"
	break

case "butt4":
	def messages8 = ["I want you to find a penis shaped object and stick it up your ass.","Go get me a penis shaped object and put it up your butt for me."]
	show(messages8[getRandom(2)])
	showButton("Finished Master")
	block = "butt7"
	break

case "butt5":
	def messages9 = ["Smear some toothpaste on your asshole.","Slide some toothpaste up your asshole.","Rub toothpaste all over your ass."]
	show(messages9[getRandom(3)])
	showButton("Finished Master")
	block = "butt7"
	break

case "butt6":
	def messages10 = ["Okay slave, put an ice cube up your ass.","Shove an ice cube deep in your ass, whore.","Stick an ice cube up your butt, sissy."]
	show(messages10[getRandom(3)])
	showButton("Finished Master")
	block = "butt7"
	break

case "butt7":
	def messages11 = ["Nice and comfortable slut? Good.","Is your ass feeling good slave? I know you love it."]
	show(messages11[getRandom(2)])
	showButton("Yes Master")
	block = "cock1"
	break

case "cock1":
	show("Hmmmm...")
	switch(getRandom(7)) {
	case 0: block = "cock2"; break
	case 1: block = "cock3"; break
	case 2: block = "cock4"; break
	case 3: block = "cock5"; break
	case 4: block = "cock6"; break
	case 5: block = "cock7"; break
	case 6: block = "cock8"; break
	}
	break

case "cock2":
	if(loadBoolean("toys.clothespins")!=true) {
		block="cock1"
		break
	}
	def messages13 = ["Place 3 clothespegs on your ballsack.","Put 2 clothespegs on your ballsack.","Put 4 clothespegs on your ballsack.","Put 6 clothespegs on your ballsack.","Put 9 clothespegs on your ballsack"]
	show(messages13[getRandom(5)])
	showButton("Finished Master")
	block = "cock9"
	break

case "cock3":
	if(loadBoolean("toys.clothespins")!=true) {
		block="clock1"
		break
	}
	def messages14 = ["Place 2 clothespegs on your ballsack and one on your shaft.","Put 4 clothespegs on your ballsack and one on your shaft.","Put 6 clothespegs on your ballsack and 2 on your shaft."]
	show(messages14[getRandom(3)])
	showButton("Finished Master")
	block = "cock9"
	break

case "cock4":
	def messages15 = ["Smear toothpaste on your shaft.","Put some toothpaste all over your shaft.","Cover your shaft in toothpaste."]
	show(messages15[getRandom(3)])
	showButton("Finished Master")
	block = "cock9"
	break

case "cock5":
	if(loadBoolean("toys.candle")!=true) {
		block="cock1"
		break
	}
	def messages16 = ["Drip 15 drops of hot wax on your cock.","Drip 20 drops of hot wax on your cock","Drip 25 drops of hot wax on your cock.","Drip 30 drops of hot wax on your cock."]
	show(messages16[getRandom(4)])
	showButton("Finished Master")
	block = "cock9"
	break

case "cock6":
	def messages17 = ["Wrap a strip of duct tape around your shaft.","Take a strip of duct tape and wrap it around your shaft.","Surround your shaft with a strip of duct tape"]
	show("You'll need some duct tape now.\n\n"+messages17[getRandom(3)])
	showButton("Finished Master")
	block = "cock9"
	break

case "cock7":
	def messages18 = ["Duct tape your cock to your stomach.","Use duct tape to adhere your cock to your stomach.","Duct tape your little dicklet to your stomach."]
	show(messages18[getRandom(3)])
	showButton("Finished Master")
	block = "cock9"
	break

case "cock8":
	def messages19 = ["Hold an ice cube against your cock until it melts.","I want you to grab an ice cube and shrink your little dicklet with it. Hold it against your pathetic cocklet until it's completely melted.","Get me an ice cube, and then hold it against your dick until it melts."]
	show(messages19[getRandom(3)])
	showButton("Finished Master")
	block = "cock9"
	break

case "cock9":
	def messages20 = ["Starting to get an idea of your place yet slave?","Starting to understand your situation yet, you stupid slave?"]
	show(messages20[getRandom(2)])
	wait(6)
	block = "body1"
	break

case "body1":
	show("Hmmmm")
	switch(getRandom(5)) {
	case 0: block = "body2"; break
	case 1: block = "body3"; break
	case 2: block = "body4"; break
	case 3: block = "body5"; break
	case 4: block = "body6"; break
	}
	break

case "body2":
	if(loadBoolean("toys.clothespins")!=true) {
		block="body1"
		break
	}
	def messages22 = ["Put clothespegs on both your nipples, slave.","Place two clothespegs on each nipple, slave.","Put a clothespeg on each of your nipples."]
	show(messages22[getRandom(3)])
	showButton("Finished Master")
	block = "body7"
	break

case "body3":
	if(loadBoolean("toys.nipple_clamps")!=true) {
		block="body1"
		break
	}
	def messages23 = ["Put nipple clamps on your nipples, slave.","Attach nipple clamps to both of your nipples."]
	show(messages23[getRandom(2)])
	showButton("Finished Master")
	block = "body7"
	break

case "body4":
	def messages24 = ["Put a socks on your hands, slave.","I want you to put a dirty pair of socks on your hands.","Cover your hands with a pair of socks."]
	show(messages24[getRandom(3)])
	showButton("Finished Master")
	block = "body7"
	break

case "body5":
	if(loadBoolean("clothes.panties")!=true) {
		block="body1"
		break
	}
	def messages25 = ["Put on your dirtiest pair of panties, slave.","Go get a pair of panties and put them on whore.","Go put on some panties, you stupid slut."]
	show(messages25[getRandom(3)])
	showButton("Finished Master")
	block = "body7"
	break

case "body6":
	if(loadBoolean("clothes.make_up")!=true) {
		block="body1"
		break
	}
	def messages26 = ["Write \"slut\" on your chest in lipstick.","Write \"Human Property\" on your chest in lipstick.","Apply a thick layer of lipstick to your lips without using a mirror, and write \"Whore\" on your chest in lipstick.","Write \"cocksucker\" on your chest in lipstick."]
	show(messages26[getRandom(4)])
	showButton("Finished Master")
	block = "body7"
	break

case "body7":
	def messages27 = ["You're coming along nicely.","I hope you're not enjoying yourself, slave."]
	show(messages27[getRandom(2)])
	wait(3)
	block = "mouth1"
	break

case "mouth1":
	show("Hmmmm")
	switch(getRandom(5)) {
	case 0: block = "mouth2"; break
	case 1: block = "mouth3"; break
	case 2: block = "mouth4"; break
	case 3: block = "mouth5"; break
	case 4: block = "mouth6"; break
	}
	break

case "mouth2":
	if(loadBoolean("toys.ballgag")!=true) {
		block="mouth1"
		break
	}
	def messages29 = ["Put a ball gag on now.","Stick a ball gag in your mouth.","Plug that mouth with a ball gag."]
	show(messages29[getRandom(3)])
	showButton("Finished Master")
	block = "mouth7"
	break

case "mouth3":
	if(loadBoolean("clothes.panties")!=true) {
		block="mouth1"
		break
	}
	def messages30 = ["Shove a pair of panties in your mouth.","Gag yourself with a dirty pair of panties.","Stick a pair of panties in your mouth."]
	show(messages30[getRandom(3)])
	showButton("Finished Master")
	block = "mouth7"
	break

case "mouth4":
	def messages31 = ["Shove a sock in your mouth.","Stick a sock in your mouth.","Gag yourself with a sock.","Stick a dirty sock in your mouth.","Gag yourself with the dirtiest sock you can find."]
	show(messages31[getRandom(5)])
	showButton("Finished Master")
	block = "mouth7"
	break

case "mouth5":
	def messages32 = ["Put a strip of duct tape across your mouth.","Gag yourself with a strip of duct tape.","Make an X across your mouth in duct tape."]
	show(messages32[getRandom(3)])
	showButton("Finished Master")
	block = "mouth7"
	break

case "mouth6":
	if(loadBoolean("toys.ring_gag")!=true) {
		block="mouth1"
		break
	}
	def messages33 = ["Put a ring gag on.","Put in your ring gag.","Put your ring gag on."]
	show(messages33[getRandom(3)])
	showButton("Finished Master")
	block = "mouth7"
	break

case "mouth7":
	def messages34 = ["There. You're all nice and pretty for your Master.","There. You better get used to that."]
	show(messages34[getRandom(2)])
	wait(4)
	block = "action1"
	break

case "action1":
	show("How to begin?")
	switch(getRandom(4)) {
	case 0: block = "masturbation"; break
	case 1: block = "porn"; break
	case 2: block = "sorry"; break
	case 3: block = "humping"; break
	}
	break

case "masturbation":
	def messages36 = ["Start masturbating for me as best you can. Don't stop until I sound the tone.","Start rubbing yourself hard, bitch. Don't stop until I sound the tone. I want you good and hard.","Start jerking your dicklet, sissy. Get it nice and hard for me. Don't stop until I sound the tone, and don't you DARE cum."]
	show(messages36[getRandom(3)])
	wait(45+getRandom(75))
	block = "firstsound"
	break

case "porn":
	def messages37 = ["I want you to start watching porn, but don't touch your little cocklet. Just watch. Do this until I sound the tone.","Find some anal porn immediately and start watching it, but don't you so much as touch your little dicklet. Keep watching until I sound the tone.","I want you to put on your favorite porn. Don't touch your dicklet, just watch it. Keep watching until I sound the tone."]
	show(messages37[getRandom(3)])
	wait(80+getRandom(100))
	block = "firstsound"
	break

case "humping":
	def messages38 = ["Start humping the air slut. Let's see some enthusiasm. Keep it up until I sound the tone.","Start humping the furnature slave. Do it on all fours, like a dog. Keep it up until I sound the tone.","Start humping the ground for me, bitch. Keep it up until I sound the tone."]
	show(messages38[getRandom(3)])
	wait(40+getRandom(60))
	block = "firstsound"
	break

case "sorry":
	def messages39 = ["Sit still and chant \"I'm sorry Master, for being an unworthy slave\" over and over through your gag until I sound the tone.","Stand in the corner and chant \"I'm sorry Master, for being an unworthy slave\" over and over through your gag until I sound the tone.","Do jumping jacks and chant \"I'm sorry Master, for being an unworth slave\" over and over through your gag until I sound the tone.","Run in place and chant \"I'm sorry Master, for being and unworthy slave\" over and over through your gag until I sound the tone."]
	show(messages39[getRandom(4)])
	wait(60+getRandom(100))
	block = "firstsound"
	break

case "firstsound":
	playSound("jewell/beep.wav")
	def messages40 = ["Okay slave, time's up.","Alright slave, time's up.","SLAVE! Time's up."]
	show(messages40[getRandom(3)])
	wait(10)
	block = "action2"
	break

case "action2":
	show("What's next?")
	switch(getRandom(4)) {
	case 0: block = "kneel"; break
	case 1: block = "doggy"; break
	case 2: block = "exercise"; break
	case 3: block = "humchant"; break
	}
	break

case "kneel":
	def messages42 = ["Kneel before me slave. Hold that position until I sound the tone.","Kneel before me slave. Don't move until I sound the tone.","Kneel before me slave. Don't move a single muscle until I sound the tone."]
	show(messages42[getRandom(3)])
	wait(60+getRandom(120))
	block = "secondsound"
	break

case "doggy":
	def messages43 = ["Get on all fours like a dog. Stay perfectly still until I sound the tone.","Get into a crawling position. Don't move a muscle until I sound the tone.","Get down on all fours like the dog you are. Now STAY until I sound the tone."]
	show(messages43[getRandom(3)])
	wait(60+getRandom(120))
	block = "secondsound"
	break

case "exercise":
	def messages44 = ["Start doing jumping jacks until I sound the tone, slave.","Start doing pushups until I sound the tone, slave.","Start doing sit-ups until I sound the tone, slave.","Start running in place until I sound the tone, slave."]
	show(messages44[getRandom(4)])
	wait(60+getRandom(90))
	block = "secondsound"
	break

case "humchant":
	def messages45 = ["Kneel before me, and chant \"I am a worthless sissy slut. I am an object. I have no will of my own.\" through your gag until I sound the tone.","Get on all fours like a dog and chant \"I am a worthless dog-slave. I am lower than an animal. I have no will of my own.\" through your gag until I sound the tone."]
	show(messages45[getRandom(2)])
	wait(50+getRandom(70))
	block = "secondsound"
	break

case "secondsound":
	playSound("jewell/beep.wav")
	def messages46 = ["Okay slave, time's up.","Alright slave, time's up.","SLAVE! Time's up."]
	show(messages46[getRandom(3)])
	wait(10)
	block = "action3"
	break

case "action3":
	show("What's next?")
	switch(getRandom(5)) {
	case 0: block = "lightspank"; break
	case 1: block = "medspank"; break
	case 2: block = "heavyspank"; break
	case 3: block = "ballspank"; break
	case 4: block = "slapface"; break
	}
	break

case "lightspank":
	def messages48 = ["Get ready to spank your own ass with your hand. Assume the position.","Go get me your toughest spanking implement and get into position for your spanking."]
	show(messages48[getRandom(2)])
	showButton("Ready Master")
	block = "lightspank2"
	break

case "lightspank2":
	def messages49 = ["Spank your ass in time with the sound. Alternate cheeks.","Start spanking your ass in time with the sound, slut."]
	show(messages49[getRandom(2)])
	for(int i = 0 ; i < 10 ; i++) {
		playBackgroundSound("swat.wav")
		wait(2)
	}	
	block = "thirdsound"
	break

case "medspank":
	def messages50 = ["Get ready to spank your own ass with your hand. Assume the position.","Go get me your toughest spanking implement and get into position for your spanking."]
	show(messages50[getRandom(2)])
	showButton("Ready Master")
	block = "medspank2"
	break

case "medspank2":
	def messages51 = ["Spank your ass in time with the sound. Alternate cheeks.","Start spanking your ass in time with the sound, slut."]
	show(messages51[getRandom(2)])
	for(int i = 0 ; i < 30 ; i++) {
		playBackgroundSound("swat.wav")
		wait(0.95+i/250)
	}
	block = "thirdsound"
	break

case "heavyspank":
	def messages52 = ["Get ready to spank your own ass with your hand. Assume the position.","Go get me your toughest spanking implement and get into position for your spanking."]
	show(messages52[getRandom(2)])
	showButton("Ready Master")
	block = "heavyspank2"
	break

case "heavyspank2":
	def messages53 = ["Spank your ass in time with the sound. Alternate cheeks.","Start spanking your ass in time with the sound, slut."]
	show(messages53[getRandom(2)])
	for(int i = 0 ; i < 40 ; i++) {
		playBackgroundSound("swat.wav")
		wait(0.95+i/250)
	}
	block = "thirdsound"
	break

case "ballspank":
	def messages54 = ["Get ready to start slapping your balls with your hand.","Go get me a spanking implement and get ready to hit your balls with it."]
	show(messages54[getRandom(2)])
	showButton("Ready Master")
	block = "ballspank2"
	break

case "ballspank2":
	def messages55 = ["Start smacking those balls painslut! Do it in time with the sound.","Start hitting your balls in time with the sound, bitch."]
	show(messages55[getRandom(2)])
	for(int i = 0 ; i < 10 ; i++) {
		playBackgroundSound("swat.wav")
		wait(2)
	}	
	block = "thirdsound"
	break

case "slapface":
	def messages56 = ["Get ready to slap your own face, bitch.","Get ready to slap your face, slut."]
	show(messages56[getRandom(2)])
	showButton("Ready Master")
	block = "slapface2"
	break

case "slapface2":
	def messages57 = ["Start slapping that face, bitch. In time with the sound.","Slap your face in time with the sound, you stupid whore."]
	show(messages57[getRandom(2)])
	for(int i = 0 ; i < 30 ; i++) {
		playBackgroundSound("swat.wav")
		wait(0.99+i/250)
	}
	block = "thirdsound"
	break

case "thirdsound":
	playSound("jewell/beep.wav")
	def messages58 = ["Okay slave, time's up.","Alright slave, time's up.","SLAVE! Time's up."]
	show(messages58[getRandom(3)])
	wait(10)
	block = "dance"
	break

case "dance":
	def messages59 = ["Before I let you remove any of your pretty decorations, there's one last thing I need you to do for me...","Don't remove any of your darling decorations, there's something else you need to do for me."]
	show(messages59[getRandom(2)])
	showButton("What is it, Master?")
	block = "dancetime"
	break

case "dancetime":
	def messages60 = ["Dance for me bitch! Show me how much you love it! Dance sexy!","Dance for me slut! Show your appreciation for me.","Dance for me sissy. I want you to worship me through dance."]
	show(messages60[getRandom(3)])
	playSound("jewell/dancetime.mp3")
	block = "dancedone"
	break

case "dancedone":
	def messages61 = ["That's enough. You may remove your decorations, slave. I hope you remember this little session in the future.","That will do, slave. You may remove your decorations now. You had better behave from now on or you'll be right back here."]
	show(messages61[getRandom(2)])
	showButton("Thank you Master")
	block = "outro"
	break

case "outro":
	def messages62 = ["Remember to behave, sissy.","Stay in line, slut.","Remember to obey me, bitch.","Mind the rules, slave."]
	show(messages62[getRandom(4)])
	wait(3)
	block = "finish"
	break

case "finish":
	endReached = true
	break

default:
	show("Unfinished ? ("+block+")")
	endReached = true
} // end switch 
newBlock = block
} // end while

// from Jewell, leaving Jewell
if(loadString("intro.start_script")=="intro") {
	show("Now goodbye, "+loadString("intro.name"))
	wait(5)
	show("My door may be open for you again for you again, maybe not")
	wait(3)
	setImage("door.jpg")
	wait(2)
}

// This script, from http://ss.deviatenow.com, is protected by this licence : 
// CC by-NC, see http://creativecommons.org/licenses/by-nc/3.0/
